home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Toolkit / Songbird 0.1 / Songbird_0_1_0.exe / chrome / content / dndSourceTracker.js < prev    next >
Text File  |  2006-02-07  |  2KB  |  67 lines

  1. /*
  2. //
  3. // BEGIN SONGBIRD GPL
  4. // 
  5. // This file is part of the Songbird web player.
  6. //
  7. // Copyright⌐ 2006 Pioneers of the Inevitable LLC
  8. // http://songbirdnest.com
  9. // 
  10. // This file may be licensed under the terms of of the
  11. // GNU General Public License Version 2 (the ôGPLö).
  12. // 
  13. // Software distributed under the License is distributed 
  14. // on an ôAS ISö basis, WITHOUT WARRANTY OF ANY KIND, either 
  15. // express or implied. See the GPL for the specific language 
  16. // governing rights and limitations.
  17. //
  18. // You should have received a copy of the GPL along with this 
  19. // program. If not, go to http://www.gnu.org/licenses/gpl.html
  20. // or write to the Free Software Foundation, Inc., 
  21. // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  22. // 
  23. // END SONGBIRD GPL
  24. //
  25.  */
  26.  
  27. // This keeps a list of objects that can act as drag and drop sources, so a string representing the index of the object
  28. // in the tracker can be passed into a TransferData object for Drag and Drop operations. This is necessary until someone
  29. // either documents or is able to explain how it is possible to pass arbitrary objects instead of strings.
  30. var sbDnDSourceTracker = {
  31.  
  32.   m_list : null,
  33.  
  34.   registerDnDSource : function (source) {
  35.     if (this.m_list == null) this.m_list = Array();
  36.     for (var i in this.m_list) {
  37.       if (this.m_list[i] == source) return;
  38.     }
  39.     this.m_list.push(source);
  40.   },
  41.  
  42.   unregisterDnDSource : function (source) {
  43.     if (this.m_list == null) return;
  44.     for (var i in this.m_list) {
  45.       if (this.m_list[i] == source) {
  46.         this.m_list.splice(i, 1);
  47.         return;
  48.       }
  49.     }
  50.   },
  51.   
  52.   getDnDSourceIndex : function (source) {
  53.     if (this.m_list == null) return -1;
  54.     for (var i in this.m_list) {
  55.       if (this.m_list[i] == source) return i;
  56.     }
  57.     return -1;
  58.   },
  59.   
  60.   getDnDSource : function (index) {
  61.     if (this.m_list == null) return null;
  62.     return this.m_list[index];
  63.   }
  64.  
  65. };
  66.  
  67.